The present invention relates generally to dynamic storage subsystems and more specifically to control techniques for dynamic storage subsystems.
In dynamic storage subsystems using technologies such as charge coupled devices (i.e., CCD), an internal clock is used to control the dynamic operation of the storage devices. This clock has some minimum rate required to reliably store data. Operation of the CCD storage subsystem at higher clock rates consumes more power. Much higher clock rates can decrease reliability by promoting component failures. However, it is often desirable to use relatively high clock rates to decrease access time through lowering latency, and to increase data transfer rates to and from the dynamic storage subsystem.
Typically, the minimum clock rate is used until an access request is made at which time a second and higher clock rate is used in an attempt to reduce latency. Often a third clock rate is used to optimize transfer rate. However, each of these transfer rates tend to be asynchronous with respect to the rate at which the requestor is operating. This at times results in suboptimal transfer rates and at other times results in overrun.
The teachings of van Es, et al, in U. S. Pat. No. 4,040,027 solve a similar problem in tending to optimize the transfer rate from a mechanical device such as a paper tap reader. Van Es, et al, use a buffer memory between the paper tape reader and the requesting user device. The paper tape reader is turned on to cause the buffer memory to be continuously loaded to a first filling degree at which time the motor of the paper tape reader is turned off until the buffer is emptied by the requestor to a second filling degree. Unfortunately, the apparatus and techniques taught by Van Es, et al, cannot be used in CCD storage subsystems which would lose their data if the control clock were stopped. Furthermore, the paper tape reader in Van Es, et al, reads at only one speed because of the difficulty in controlling the speed of the motor. A CCD storage subsystem, however, can be operated at variable speeds, providing the opportunity to minimize the probability of overrun.